using CodeSaude.Domain.Entities;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.ModelConfiguration;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class anamneseMap : EntityTypeConfiguration<anamnese>
    {
        public anamneseMap()
        {
            // Primary Key
            this.HasKey(t => t.id_anamnese);

            // Properties
            this.Property(t => t.nome_anamnese)
                .IsRequired()
                .HasMaxLength(255);

            this.Property(t => t.codigo_cid)
                .HasMaxLength(45);

            this.Property(t => t.grupo_objeto)
                .IsRequired()
                .HasMaxLength(45);

            this.Property(t => t.subgrupo_objeto)
                .HasMaxLength(45);

            this.Property(t => t.codigo_referencia)
                .HasMaxLength(45);

            // Table & Column Mappings
            this.ToTable("anamnese");
            this.Property(t => t.id_anamnese).HasColumnName("id_anamnese");
            this.Property(t => t.nome_anamnese).HasColumnName("nome_anamnese");
            this.Property(t => t.codigo_cid).HasColumnName("codigo_cid");
            this.Property(t => t.tipo_objeto).HasColumnName("tipo_objeto");
            this.Property(t => t.grupo_objeto).HasColumnName("grupo_objeto");
            this.Property(t => t.subgrupo_objeto).HasColumnName("subgrupo_objeto");
            this.Property(t => t.codigo_referencia).HasColumnName("codigo_referencia");
            this.Property(t => t.ordem_objeto).HasColumnName("ordem_objeto");
            this.Property(t => t.id_situacao).HasColumnName("id_situacao");
            this.Property(t => t.data_criacao).HasColumnName("data_criacao");
            this.Property(t => t.Usuario_criacao).HasColumnName("Usuario_criacao");
            this.Property(t => t.data_alteracao).HasColumnName("data_alteracao");
            this.Property(t => t.Usuario_alteracao).HasColumnName("Usuario_alteracao");

        }
    }
}
